<div id="Repository-files"></div>
<div class="header">
<p>
Next: [[cvs: File permissions#File permissions|File permissions]], Up: [[cvs: How data is stored in the repository#How data is stored in the repository|Repository storage]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>

----

<div id="Where-files-are-stored-within-the-repository"></div>
==== Where files are stored within the repository ====


The overall structure of the repository is a directory
tree corresponding to the directories in the working
directory.  For example, supposing the repository is in

<div class="example" style="margin-left: 3.2em">
 /usr/local/cvsroot
</div>

here is a possible directory tree (showing only the
directories):

<div class="example" style="margin-left: 3.2em">
 <tt>/usr</tt>
  |
  +--<tt>local</tt>
  |   |
  |   +--<tt>cvsroot</tt>
  |   |    |
  |   |    +--<tt>CVSROOT</tt>
           |      (administrative files)
           |
           +--<tt>gnu</tt>
           |   |
           |   +--<tt>diff</tt>
           |   |   (source code to GNU diff)
           |   |
           |   +--<tt>rcs</tt>
           |   |   (source code to RCS)
           |   |
           |   +--<tt>cvs</tt>
           |       (source code to CVS)
           |
           +--<tt>yoyodyne</tt>
               |
               +--<tt>tc</tt>
               |    |
               |    +--<tt>man</tt>
               |    |
               |    +--<tt>testing</tt>
               |
               +--(other Yoyodyne software)
</div>

With the directories are <em>history files</em> for each file
under version control.  The name of the history file is
the name of the corresponding file with &lsquo;<code>,v</code>&rsquo;
appended to the end.  Here is what the repository for
the &lsquo;<tt>yoyodyne/tc</tt>&rsquo; directory might look like:
<div class="example" style="margin-left: 3.2em">
   <code>$CVSROOT</code>
     |
     +--<tt>yoyodyne</tt>
     |   |
     |   +--<tt>tc</tt>
     |   |   |
             +--<tt>Makefile,v</tt>
             +--<tt>backend.c,v</tt>
             +--<tt>driver.c,v</tt>
             +--<tt>frontend.c,v</tt>
             +--<tt>parser.c,v</tt>
             +--<tt>man</tt>
             |    |
             |    +--<tt>tc.1,v</tt>
             |
             +--<tt>testing</tt>
                  |
                  +--<tt>testpgm.t,v</tt>
                  +--<tt>test2.t,v</tt>
</div>

<div id="index-History-files"></div>
<div id="index-RCS-history-files"></div>
The history files contain, among other things, enough
information to recreate any revision of the file, a log
of all commit messages and the user-name of the person
who committed the revision.  The history files are
known as <em>RCS files</em>, because the first program to
store files in that format was a version control system
known as <small>RCS</small>.  For a full
description of the file format, see the <code>man</code> page
<cite>rcsfile(5)</cite>, distributed with <small>RCS</small>, or the
file &lsquo;<tt>doc/RCSFILES</tt>&rsquo; in the <small>CVS</small> source
distribution.  This
file format has become very common&mdash;many systems other
than <small>CVS</small> or <small>RCS</small> can at least import history
files in this format.

The <small>RCS</small> files used in <small>CVS</small> differ in a few
ways from the standard format.  The biggest difference
is magic branches; for more information see [[cvs: Magic branch numbers#Magic branch numbers|Magic branch numbers]].  Also in <small>CVS</small> the valid tag names
are a subset of what <small>RCS</small> accepts; for <small>CVS</small>&rsquo;s
rules see [[cvs: Tags-Symbolic revisions#Tags&ndash;Symbolic revisions|Tags]].


----

<div class="header">
<p>
Next: [[cvs: File permissions#File permissions|File permissions]], Up: [[cvs: How data is stored in the repository#How data is stored in the repository|Repository storage]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
